package com.smsc.headend.task.engine.handler.impl.collection.strategy;

import com.smsc.headend.module.asset.entity.Meter;
import com.smsc.headend.module.data.dto.DataItemDTO;
import com.smsc.headend.module.data.entity.RdMeterReadsLp;
import com.smsc.headend.module.task.dto.AtomicTask;
import com.smsc.headend.module.task.dto.Task;
import com.smsc.headend.module.task.dto.TaskReadData;

import java.util.List;
import java.util.Map;

public interface CollectionStrategy {
    List<RdMeterReadsLp> filterCollectionData(Task task, AtomicTask atomicTask, Map<String, Object> param, List<RdMeterReadsLp> meterReadsCol);

    int callback(Meter meter, TaskReadData readData, Task task, AtomicTask atomicTask, Map<String, Object> param, List<DataItemDTO> dataItemCosemList, List<RdMeterReadsLp> filteredRdMeterReadsLp);

}
